Android 通过Intent跳转传值失效

您所在的位置:网站首页 android intent传值 Android 通过Intent跳转传值失效

Android 通过Intent跳转传值失效

2024-07-16 05:42| 来源: 网络整理| 查看: 265

问题:

  我们使用 intent 在两个 activity 之间带值跳转的时候,有时候会遇到,接收值的那个 activity 收不到 intent 里的数据。

解决方法说明:

  检查自己接收值的那个activity,看一下启动模式,如果是 singleTask 或 singleInstance,可能和我遇到了一样的情况,接着往下看应该就能解决,如果不是,请 Ctrl+w,另行 google。。

解决方法:

  当启动模式为 singleTask 时,activity 通过 intent 传递数据的时候,如果 activity 未启动,那么在这个刚启动的 activity 里通过 getIntent() 会获取到这个 intent 的数据。如果要启动的 activity 是已经存在的,这时候通过 getInten() 方法获取到的 intent 是已启动的 activity 的原始 intent,也就是说 intent 的数据没有更新,这样在已启动的 activity 里拿到的 intent 的数据是旧数据。   如果要每次获取 intent 传来的新数据就需要在 onNewIntent(Intent intent) 方法里调用setIntent(intent)设置这个传来的最新的 intent。   即在启动模式为 singleTask 的 activity 里加上以下代码,然后通过 getIntent() 就可以获取到新传递过来的值了。

@Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); setIntent(intent); }

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3